﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SinacorWebTools.Entity
{
    public class DireitoAcesso
    {
        private int _codigoDireito = 0;
        private int _codigoTipoDireito;
        private string _descricaoDireito;
        private string _descricaoTipoDireito;
        private string _codigoTipoOperacao;
        private string _textoHash;
        private string _siglaModulos;
        private Entity.Funcao _funcao;

        [MapEntityData("COD_DIREITO")]
        public int CodigoDireito
        {
            get { return _codigoDireito; }
            set { _codigoDireito = value; }
        }

        [MapEntityData("COD_TIPODIREITO")]
        public int CodigoTipoDireito
        {
            get { return _codigoTipoDireito; }
            set { _codigoTipoDireito = value; }
        }

        [MapEntityData("DESC_DIREITO")]
        public string DescricaoDireito
        {
            get { return _descricaoDireito; }
            set { _descricaoDireito = value; }
        }

        [MapEntityData("DESC_TIPODIREITO")]
        public string DescricaoTipoDireito
        {
            get { return _descricaoTipoDireito; }
            set { _descricaoTipoDireito = value; }
        }

        [MapEntityData("COD_TIPO_OPRC")]
        public string CodigoTipoOperacao
        {
            get { return _codigoTipoOperacao; }
            set { _codigoTipoOperacao = value; }
        }

        public string TextoHash
        {
            get { return _textoHash; }
            set { _textoHash = value; }
        }

        public string SiglaModulos
        {
            get { return _siglaModulos; }
            set { _siglaModulos = value; }
        }

        public Entity.Funcao Funcao
        {
            get { return _funcao; }
            set { _funcao = value; }
        }

        public DireitoAcesso()
        { }

        public DireitoAcesso(int codigoDireito)
        {
            this.CodigoDireito = codigoDireito;
        }

        public DireitoAcesso(int codigoDireito,
                             string descricaoDireito,
                             int codigoTipoDireito,
                             string descricaoTipoDireito,
                             string tipoOperacao)
        {
            this.CodigoDireito = codigoDireito;
            this.DescricaoDireito = descricaoDireito;
            this.CodigoTipoDireito = codigoTipoDireito;
            this.DescricaoTipoDireito = descricaoTipoDireito;
            this.CodigoTipoOperacao = tipoOperacao;
            this.Funcao = null;
        }
    }
}
